VOPL is a library of C routines for doing graph plots. It handles the a variety of fits and scalings, together with providing defaults for positioning graph titles, axis titles, and labels. VOPL may be called from C or FORTRAN.
Fortran: subroutine adjustscale(points, number, axis) real points(number) integer number character *1 axis C: adjustscale(points, number, axis) float points[]; int number; char axis;
Fortran: subroutine range(min, max, axis) real min, max character *1 axis C: range(min, max, axis) float min, max; char axis;
Fortran: subroutine graphtitle(title) character*(*) title C: graphtitle(title) char *title;
Fortran: subroutine drawtitle() C: drawtitle()
Fortran: subroutine axistitle(title, axis) character*(*) title character *1 axis C: axistitle(title, axis) char *title, axis;
Fortran: subroutine plot2(x, y, n) real x(n), y(n) integer n C: plot2(x, y, n) float x[], y[]; int n;
Fortran: subroutine fit(type) integer type C: fit(type) int type; Current fit types are: 0 - No lines at all. 1 - Straight line fit. 2 - Cubic spline fit. 3 - Least squares fit. 4 - Power equation fit. 5 - Saturated growth rate fit.
Fortran: subroutine scaling(type, axis) integer type character *1 axis C: scaling(type, axis) int type; char axis;Current scaling types are 0 for
Fortran: subroutine endslopes(a, b) real a, b C: endslopes(a, b) float a, b;
Fortran: subroutine degree(deg) integer deg C: degree(deg) int deg;
Fortran: subroutine gridspacing(n, axis) integer n character *1 axis C: gridspacing(n, axis) int n; char axis;
Fortran: subroutine tickmarks(number, axis) integer number character *1 axis C: tickmarks(number, axis) int number; char axis;
Fortran: subroutine minorticks(number, axis) integer number character *1 axis C: minorticks(number, axis) int number; char axis;
Fortran: subroutine drawaxis(axis) character *1 axis C: drawaxis(axis) char *axis;
Fortran: subroutine drawaxes() C: drawaxes()
Fortran: subroutine drawaxes2() C: drawaxes2()
Fortran: subroutine annotation(format, axis) character*(*) format character *1 axis C: annotation(format, axis) char *format, axis
Fortran: subroutine graphprecision(number) integer number C: graphprecision(number) int number;
Fortran: subroutine marker(string) character*(*) string C: marker(string) char *string;
Fortran: subroutine markerspacing(num) integer num C: markerspacing(num) int num;
Fortran: subroutine markscale(x, y) real x, y C: markscale(x, y) float x, y;
The manual page isn't finished. There isn't really any Z-axis stuff yet. The Whole thing isn't finished and could stand a total recode.